showing 9 games
name | publisher(developer) | year arrow_downward | description | |
---|---|---|---|---|
Bingo | Digital Equipment Computer Users' Society | 1966 | [media=youtube]N2acWKvg0oI[/media]***Very early BASIC game program. Ported from a Dartmouth style BASIC to Micro Color BASIC for the TRS-80 MC-10. Debugged ad updated with new game options to add to the challenge. BINGO can be played here: http://faculty.cbu.ca/jgerrie/MC10/ | labelimagesubject |
Digama | Digital Equipment Computer Users' Society | 1970 | It is an extremely strange video game, the sources are scarce, in particular, I obtained the information from a website that stored BASIC codes from various European universities.***THE PROGRAM IS BASED ON THE USE OF EQUATIONS 6.3.5,6.3.6, AND 160' 6.3.18, WHICHEVER IS CLOSEST. DERIVATIVES HIGHER THAN 170' THE FIRST ARE FOUND FROM EQUATION 6.4.10. 180' INSTRUCTIONS: ENTER THE DATA ON LINES 360 AND FOLLOWING THE VALUES TO 220' YOU WANT TO KNOW THE DIGAMMA FUNCTION.***Videogame programm Lines [spoiler=show source code;hide source code] 00' NAME--DIGAMA 110' 120' DESCRIPTION--FINDS THE DIGAMMA OF Z FOR Z>0. 130' 140' SOURCE--NATIONAL BUREAU OF STANDARDS PUBLICATION AMS55. 150' THE PROGRAM IS BASED ON THE USE OF EQUATIONS 6.3.5,6.3.6, AND 160' 6.3.18, WHICHEVER IS THE CLOSEST. DERIVATIVES HIGHER THAN 170' THE FIRST ARE FOUND FROM EQUATION 6.4.10. 180' PROGRAM BY DEAN MYRON TRIBUS, THAYER SCHOOL OF ENGINEERING, 190' DARTMOUTH COLLEGE, HANOVER, N.H. 03755 200' 210' INSTRUCTIONS--ENTER DATA IN LINES 360 AND FOLLOWING THE VALUES FOR 220' WHICH YOU WISH TO KNOW THE DIGAMMA FUNCTION. 230' 240' 250' * * * * * * MAIN PRGRAM * * * * * * * * * * * 260' 270 FOR I=0 TO 5 280 READ J(I) 290 NEXT I 300 DATA 1, 1.2, 1.4, 1.6, 1.8, 2.0 310 FOR I=0 TO 5 320 FOR M=0 TO 8 330 READ C(M,I) 340 NEXT M 350 NEXT I 360 DATA -0.5772156,1.64493,-1.20205,1.08232,-1.03693,1.01734 370 DATA -1.00835,1.00408,-1.00201 380 DATA -0.2890399,1.26738,-.739016,.540832,-.425521,.344914 390 DATA -.283439, .234494,-.194666 400 DATA -.0613845,1.02536,-.494562,.3033376,-.20172,.138896 410 DATA -9.72778E-2,6.87339E-2,-4.87972E-2 420 DATA .1260475,.858432,-.351784,.185124,-.106281,.063462 430 DATA -3.86574E-2,2.38038E-2,-1.47473E-2 440 DATA .2849914,.736974,-.26193,.120409,-6.06949E-2,.031936 450 DATA -1.71866E-2,9.36679E-3,-5.14285E-3 460 DATA .4227843,.644934,-.202055,8.23229E-2,-3.69277E-2,.017343 470 DATA -8.34925E-3,4.07735E-3,-2.00838E-3 480 READ Z 490 IF Z<0 THEN 550 500 IF Z<1 THEN 570 510 IF Z<2 THEN 610 520 IF Z<50 THEN 640 530 LET D=LOG(Z)-(1/(2*Z))-(1/(12*Z^2))+(1/(120*Z^4))-(1/(252*Z^6)) 540 GO TO 690 550 PRINT "Z NEGATIVE" 560 GO TO 700 570 LET J=1+Z 580 GO SUB 710 590 LET D=D-1/Z 600 GO TO 690 610 LET J=Z 620 GO SUB 710 630 GO TO 690 640 LET J=1+Z-INT(Z) 650 GO SUB 710 660 FOR I=1 TO INT(Z-1) 670 LET D=D+(1/(J+I-1)) 680 NEXT I 690 PRINT "Z="Z, "D="D 700 GO TO 480 710 REMARK: THIS SUBROUTINE FINDS DIGAMMA OF J FOR 1<J<2 720 FOR K=0 TO 5 730 IF ABS(J-1-(K/5))>.1 THEN 760 740 LET I=K 750 GO TO 770 760 NEXT K 770 LET D=0 780 LET X=J-1-(I/5) 790 LET T=1 800 FOR M=0 TO 8 810 LET D=D+C(M,I)*T 820 LET T=T*X 830 IF ABS(T)<1E-8 THEN 850 840 NEXT M 850 PRINT 860 RETURN 870 DATA 49,50,51 880END [/spoiler] | labelminimizesubject |
Digits | Digital Equipment Computer Users' Society (Keiwit Computation Center) | 1970 | [media=youtube]yJXT_MCm87w[/media]***Digits is a number guessing game. The player is asked to write down three lines of 10 digits, where each digit can be 0, 1 or 2. The computer will then try to guess your numbers. The player must input the number sets and the computer compares it with its guesses. If it guessed correctly more than 10 times the computer wins, otherwise the player wins or it's a tie when exactly 10 guesses were correct.***Videogame Programming Lines [spoiler=show source code;hide source code] 100' NAME--DIGITS 110' 120' DESCRIPTION--GUESSES A SEQUENCE OF NUMBERS. 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW DIRECTIONS. 170' 180' 190' * * * * * * MAIN PROGRAM * * * * * * * * * * 200' 210 PRINT"THIS IS A GAME OF GUESSING." 220 PRINT "FOR INSTRUCTIONS, TYPE '1', ELSE TYPE '0'"; 230 INPUT E 240 IF E=0 THEN 360 250 PRINT 260 PRINT "PLEASE TAKE A PIECE OF PAPER AND WRITE DOWN" 270 PRINT "THE DIGITS '0', '1', OR '2' THIRTY TIMES AT RANDOM." 280 PRINT "ARRANGE THEM IN THREE LINES OF TEN DIGITS." 290 PRINT "I'LL ASK FOR THEM 10 AT A TIME." 300 PRINT "I WILL ALWAYS GUESS FIRST, AND THEN LOOK AT YOUR" 310 PRINT "NEXT NUMBER TO SEE IF I WAS RIGHT. BY PURE LUCK I" 320 PRINT "OUGHT TO BE RIGHT 10 TIMES. BUT I HOPE TO DO BETTER" 330 PRINT "THAN THAT****" 340 PRINT 350 PRINT 360 READ A,B,C 370 DATA 0,1,3 380 DIM M(26,2) 390 DIM K(2,2), L(8,2) 400 MAT M = CON 410 MAT K = CON 420 MAT K = (9)*K 430 MAT L = CON 440 MAT L = (3)*L 450 LET L(0,0) = 2 460 LET L(4,1) = 2 470 LET L(8,2) = 2 480 LET Z = 26 490 LET Z1 = 8 500 LET Z2 = 2 510 LET X = 0 520 FOR T = 1 TO 3 530 PRINT 540 PRINT "TEN NUMBERS PLEASE"; 550 INPUT N(1), N(2), N(3),N(4),N(5),N(6),N(7),N(8),N(9),N(10) 560 FOR I = 1 TO 10 570 LET W = N(I) - 1 580 IF W = SGN(W) THEN 620 590 PRINT "USE ONLY THE DIGITS '0', '1', OR '2'." 600 PRINT "LET'S TRY AGAIN." 610 GOTO 530 620 NEXT I 630 PRINT 640 PRINT "MY GUESS", "YOUR NO.", "RESULT", "NO. RIGHT" 650 PRINT 660 FOR U = 1 TO 10 670 LET N = N(U) 680 LET S = 0 690 FOR J = 0 TO 2 700 LET S1 = A*K(Z2,J) + B*L(Z1,J) + C*M(Z,J) 710 IF S > S1 THEN 760 720 IF S < S1 THEN 740 730 IF RND<.5 THEN 760 740 LET S=S1 750 LET G=J 760 NEXT J 770 PRINT G, N(U), 780 IF G=N(U) THEN 810 790 PRINT "WRONG", X 800 GOTO 830 810 LET X = X+1 820 PRINT "RIGHT", X 830 LET M(Z,N) = M(Z,N)+1 840 LET L(Z1,N) = L(Z1,N)+1 850 LET K(Z2,N) = K(Z2,N)+1 860 LET Z = Z - INT(Z/9)*9 870 LET Z = 3*Z+N(U) 880 LET Z1 = Z-INT(Z/9)*9 890 LET Z2 = N(U) 900 NEXT U 910 NEXT T 920 PRINT 930 IF X>10 THEN 980 940 IF X<10 THEN 1010 950 PRINT "I GUESSED EXACTLY 1/3 OF YOUR NUMBERS." 960 PRINT "IT IS A TIE GAME." 970 GOTO 1030 980 PRINT "I GUESSED MORE THAN 1/3 OF YOUR NUMBERS." 990 PRINT "I WIN." 1000 GOTO 1030 1010 PRINT "I GUESSED LESS THAN 1/3 OF YOUR NUMBERS." 1020 PRINT "YOU BEAT ME. CONGRATULATIONS***" 1030 PRINT 1040 PRINT "DO YOU WANT TO TRY AGAIN?" 1050 PRINT "IF YES, TYPE '1'; IF NO, TYPE '0'"; 1060 INPUT X 1070 IF X =1 THEN 400 1080 PRINT "THANKS FOR THE GAME." 1090 END [/spoiler] | labelimagesubject |
Gamnim | Digital Equipment Computer Users' Society | 1970 | Gamnim is a game of Nim. There is a distinct number of items on a distinct number of piles and the player and computer take turns removing items from a chosen pile. Depending on the choices made at the start of the game whoever picks the first or last item wins the game.***Videogame Programming Files [spoiler=show source code;hide source code] 100' NAME--GAMNIM 110' 120' DESCRIPTION--PLAYS GAME OF NIM 130' 140' SOURCE--UNKNOWN 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS 170' 180' 190' * * * * * * * MAIN PROGRAM * * * * * * * * * * * * 200' 210 DIM A(100),B(100,10),D(2) 220 PRINT "THIS IS THE GAME OF NIM." 230 PRINT "DO YOU WANT INSTRUCTIONS"; 240 INPUT Z$ 250 IF Z$="NO" THEN 390 260 IF Z$="YES" THEN 290 270 PRINT "INCORRECT ANSWER. PLEASE TYPE 'YES' OR 'NO'"; 280 GOTO 240 290 PRINT "THE GAME IS PLAYED WITH A NUMBER OF PILES OF OBJECTS." 300 PRINT "ANY NUMBER OF OBJECTS ARE REMOVED FROM ONE PILE BY YOU AND" 310 PRINT "THE MACHINE ALTERNATELY. YOU MUST SPECIFY WHETHER WINNING" 320 PRINT "IS DEFINED AS TAKING OR NOT TAKING THE LAST OBJECT, THE" 330 PRINT "NUMBER OF PILES IN THE GAME, AND HOW MANY OBJECTS ARE" 340 PRINT "ORIGINALLY IN EACH PILE. EACH PILE MAY CONTAIN A" 350 PRINT "DIFFERENT NUMBER OF OBJECTS." 360 PRINT "THE MACHINE WILL SHOW ITS MOVE BY LISTING EACH PILE AND THE" 370 PRINT "NUMBER OF OBJECTS REMAINING IN THE PILES AFTER EACH OF ITS" 380 PRINT "MOVES." 390 PRINT 400 PRINT "ENTER WIN OPTION - 1 TO TAKE LAST, 2 TO AVOID LAST"; 410 INPUT W 420 IF W=1 THEN 440 430 IF W<>2 THEN 400 440 PRINT "ENTER NUMBER OF PILES"; 450 INPUT N 460 IF N>100 THEN 440 470 IF N<1 THEN 440 480 IF N<>INT(N) THEN 440 490 PRINT "ENTER PILE SIZES" 500 FOR I=1 TO N 510 PRINT I; 520 INPUT A(I) 530 IF A(I)>2000 THEN 510 540 IF A(I)<1 THEN 510 550 IF A(I)<>INT(A(I)) THEN 510 560 NEXT I 570 IF W=1 THEN 810 580 LET C=0 590 FOR I=1 TO N 600 IF A(I)=0 THEN 640 610 LET C=C+1 620 IF C=3 THEN 710 630 LET D(C)=I 640 NEXT I 650 IF C=2 THEN 790 660 IF A(D(1))>1 THEN 690 670 PRINT "MACHINE LOSES" 680 STOP 690 PRINT "MACHINE WINS" 700 STOP 710 LET C=0 720 FOR I=1 TO N 730 IF A(I)>1 THEN 810 740 IF A(I)=0 THEN 760 750 LET C=C+1 760 NEXT I 770 IF C/2<>INT(C/2) THEN 670 780 GOTO 810 790 IF A(D(1))=1 THEN 690 800 IF A(D(2))=1 THEN 690 810 FOR I=1 TO N 820 LET E=A(I) 830 FOR J=0 TO 10 840 LET F=E/2 850 LET B(I,J)=2*(F-INT(F)) 860 LET E=INT(F) 870 NEXT J 880 NEXT I 890 FOR J=10 TO 0 STEP -1 900 LET C=0 910 LET H=0 920 FOR I=1 TO N 930 IF B(I,J)=0 THEN 980 940 LET C=C+1 950 IF A(I)<=H THEN 980 960 LET H=A(I) 970 LET G=I 980 NEXT I 990 IF C/2<>INT(C/2) THEN 1060 1000 NEXT J 1010 LET E=INT(N*RND+1) 1020 IF A(E)=0 THEN 1010 1030 LET F=INT(A(E)*RND+1) 1040 LET A(E)=A(E)-F 1050 GO TO 1250 1060 LET A(G)=0 1070 FOR J=0 TO 10 1080 LET B(G,J)=0 1090 LET C=0 1100 FOR I=1 TO N 1110 IF B(I,J)=0 THEN 1130 1120 LET C=C+1 1130 NEXT I 1140 LET A(G)=A(G)+2*(C/2-INT(C/2))*2^J 1150 NEXT J 1160 IF W=1 THEN 1250 1170 LET C=0 1180 FOR I=1 TO N 1190 IF A(I)>1 THEN 1250 1200 IF A(I)=0 THEN 1220 1210 LET C=C+1 1220 NEXT I 1230 IF C/2<>INT(C/2) THEN 1250 1240 LET A(G)=1-A(G) 1250 PRINT "PILE SIZE" 1260 FOR I=1 TO N 1270 PRINT I;A(I) 1280 NEXT I 1290 IF W=2 THEN 1320 1300 GOSUB 1440 1310 IF Z=1 THEN 690 1320 PRINT "YOUR MOVE - PILE,NUMBER TO BE REMOVED"; 1330 INPUT X,Y 1340 IF X>N THEN 1320 1350 IF X<1 THEN 1320 1360 IF X<>INT(X) THEN 1320 1370 IF Y>A(X) THEN 1320 1380 IF Y<1 THEN 1320 1390 IF Y<>INT(Y) THEN 1320 1400 LET A(X)=A(X)-Y 1410 GOSUB 1440 1420 IF Z=1 THEN 670 1430 GO TO 570 1440 LET Z=0 1450 FOR I=1 TO N 1460 IF A(I)=0 THEN 1480 1470 RETURN 1480 NEXT I 1490 LET Z=1 1500 RETURN 1510 END [/spoiler] | labelminimizesubject |
Horserace | Digital Equipment Computer Users' Society (Author) | 1970 | [media=youtube]6ssYupYdw-k[/media]***Horserace is a betting game in which up to 10 players can bet on digital horses which will race the teletype paper to the finish. Players can bet up to 100,000 on 8 horses. Each horse has its own odds which determines the payouts when that horse wins.***Videogame Programm Files [spoiler=show source code;hide source code] 100' NAME--HORSERAC 110' 120' DESCRIPTION--A DAY AT THE RACES AT SOUTH PORTLAND HIGH 130' 140' SOURCE--LAURIE CHEVALIER 150' 160' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS 170' 180' 190' * * * * * * * MAIN PROGRAM * * * * * * * * * * * 200' 210 RANDOM 220 PRINT"WELCOME TO SOUTH PORTLAND HIGH RACETRACK" 230PRINT" ...OWNED BY LAURIE CHEVALIER" 240 PRINT "DO YOU WANT DIRECTIONS"; 250 INPUT X$ 260 IF X$="NO" THEN320 270PRINT"UP TO 10 MAY PLAY.A TABLE OF ODDS WILL BE PRINTED. YOU" 280 PRINT"MAY BET ANY + AMOUNT UNDER 100000 ON ONE HORSE." 290 PRINT "DURING THE RACE , A HORSE WILL BE SHOWN BY ITS" 300 PRINT"NUMBER.THE HORSES RACE DOWN THE PAPER!" 310 PRINT 320 PRINT "HOW MANY WANT TO BET"; 330 INPUT C 340 PRINT "WHEN ? APPEARS,TYPE NAME" 350 FOR A=1 TO C 360 INPUT W$(A) 370 NEXT A 380 PRINT 390 PRINT"HORSE",,"NUMBER","ODDS" 400 PRINT 410 LET S(M(I))=0 420 LET R=0 430 FOR A=1 TO 8 440 LET D(A)=INT(10*RND+1) 450 NEXT A 460 FOR A=1TO 8 470 LET R=R+D(A) 480 NEXT A 490 LET V$(1)="JOE MAW" 500 LET V$(2)="L.B.J." 510 LET V$(3)="MR.WASHBURN" 520 LET V$(4)="MISS KAREN" 530 LET V$(5)="JOLLY" 540 LET V$(6)="FOR Q." 550 LET V$(7)="JELLY DO NOT" 560 LET V$(8)="ACID ROCK" 570 FOR N=1 TO8 580 PRINT V$(N),,N,R/D(N);":1" 590 NEXT N 600PRINT"--------------------------------------------------" 610 PRINT "PLACE YOUR BETS...HORSE # THEN AMOUNT" 620 FOR J=1 TO C 630 PRINT W$(J); 640 INPUT Q(J),P(J) 650 IF P(J)<1 THEN 670 660 IF P(J)<100000 THEN 690 670 PRINT" YOU CAN'T DO THAT!" 680 GOTO 630 690 NEXT J 700 PRINT 710 PRINT"1 2 3 4 5 6 7 8" 720 PRINT"XXXXSTARTXXXX"; 730 FOR I=1 TON 740 LET M=I 750 LET M(I)=M 760 LET Y(M(I))=INT(100*RND+1) 770 IF Y(M(I))<10 THEN860 780 LET S=INT(R/D(I)+.5) 790 IF Y(M(I))<S+17 THEN 880 800 IF Y(M(I))<S+37 THEN 900 810 IF Y(M(I))<S+57 THEN920 820 IF Y(M(I))<77+S THEN940 830 IF Y(M(I))<S+92 THEN960 840 LET Y(M(I))=7 850 GOTO 970 860 LET Y(M(I))=1 870 GOTO 970 880 LET Y(M(I))=2 890 GOTO 970 900 LET Y(M(I))=3 910 GOTO 970 920 LET Y(M(I))=4 930 GOTO 970 940 LET Y(M(I))=5 950 GOTO 970 960 LET Y(M(I))=6 970 NEXTI 980 LET M=I 990 FOR I=1TO8 1000LET S(M(I))=S(M(I))+Y(M(I)) 1010 NEXTI 1020 LET I=1 1030 FOR L=1 TO8 1040 FORI=1TO 8-L 1050 IF S(M(I))<S(M(I+1))THEN 1090 1060 LET H=M(I) 1070 LET M(I)=M(I+1) 1080 LET M(I+1)=H 1090 NEXT I 1100 NEXT L 1110 LET T=S(M(8)) 1120FOR I=1 TO8 1130 LET B=S(M(I))-S(M(I-1)) 1140 IF B=0 THEN 1190 1150 FOR A=1 TO B 1160 PRINT 1170IF S(M(I))>27 THEN1240 1180 NEXT A 1190 PRINT M(I); 1200 NEXT I 1210 FOR A=1 TO 28-T 1220 PRINT 1230 NEXT A 1240 PRINT"XXXXFINISHXXXX" 1250 IF T<28 THEN 720 1260 PRINT"**************" 1270 PRINT"WINNER IS "; 1280 FOR I=8 TO 1STEP-1 1290 LET F=M(I) 1300 PRINT 1310 PRINT "HORSE NO." F, V$(F) 1320 NEXT I 1330 FOR J=1 TO C 1340 IF Q(J)<>M(8) THEN 1370 1350LET N=Q(J) 1360 PRINT W$(J);"WINS $";(R/D(N))*P(J) 1370 NEXT J 1380 END [/spoiler] | labelminimizesubject |
Football | Digital Equipment Computer Users' Society | 1970 | Football is probably the most popular simulated sports game. Some people have elected to play computerized football in preference to watching a bowl game on television. The simulation uses standard professional football rules ex- cept there are no penalties. The computer takes the part of your opposing team and also the referee. Eight plays can be run on offense and five on defense. The program presents necessary rules as you play.***Videogame Programming File [spoiler=show source code;hide source code] 100' NAME--FTBALL 110' 120' DESCRIPTIONS--GENERATES A DIGITAL CHAMPIONSHIP FOOTBALL GAME 130' WITH THE USER AS THE QUARTERBACK. 140' 150' SOURCE--JOHN G. KEMENY 160' 170' INSTRUCTIONS--TYPE "RUN" AND FOLLOW INSTRUCTIONS. 180' 190' 200' * * * * * * * MAIN PROGRAM * * * * * * * * * * * 210' 220 PRINT "THIS IS DIGITAL CHAMPIONSHIP FOOTBALL." 230 PRINT "YOU WILL QUARTERBACK DIGITAL. CALL PLAYS AS FOLLOWS:" 240 PRINT "1 = SIMPLE RUN; 2 = TRICKY RUN; 3 = SHORT PASS;" 250 PRINT "4 = LONG PASS; 5 = PUNT; 6 = QUICK KICK; 7 = PLACE KICK." 260 PRINT 270 PRINT "CHOOSE YOUR OPPONENT"; 280 INPUT O$(1) 290 LET O$(0) = "DIGITAL" 300 PRINT 310 LET S(0) = S(1) = 0 320 RANDOMIZE 330 DIM L$(20) 340 MAT READ L$ 350 DATA KICK,RECEIVE, YARDS , RUN BACK FOR , BALL ON 360 DATA YARD LINE, SIMPLE RUN, TRICKY RUN, SHORT PASS, LONG PASS 370 DATA PUNT, QUICK KICK, PLACE KICK, LOSS OF , NO GAIN 380 DATA GAIN OF , TOUCHDOWN , TOUCHBACK , SAFETY***,JUNK 390 LET P = INT(RND*2) 400 PRINT O$(P);" WON THE TOSS" 410 DEF FNF=1-2*P 420 DEF FNG = P*(X1-X) + (1-P)*(X-X1) 430 IF P = 0 THEN 470 440 PRINT O$(1); " ELECTS TO RECEIVE" 450 PRINT 460 GOTO 570 470 PRINT "DO YOU ELECT TO KICK OR RECEIVE"; 480 INPUT A$ 490 PRINT 500 FOR E = 1 TO 2 510 IF A$ = L$(E) THEN 550 520 NEXT E 530 PRINT "INCORRECT ANSWER. PLEASE TYPE 'KICK' OR 'RECEIVE'"; 540 GOTO 480 550 IF E = 2 THEN 570 560 LET P = 1 570 REM KICKOFF 580 LET X = 40 + (1-P)*20 590 LET Y = INT(200*(RND-.5)^3+55) 600 PRINT "KICKOFF GOOD FOR ";Y;L$(3) 610 LET X = X-FNF*Y 620 IF ABS(X-50)>=50 THEN 690 630 LET Y = INT(50*RND^2) + (1-P)*INT(50*RND^4) 640 PRINT L$(4); 650 LET X = X+FNF*Y 660 IF ABS(X-50)>=50 THEN 2600 670 PRINT Y;L$(3) 680 GOTO 720 690 REM TOUCHBACK 700 PRINT "TOUCHBACK FOR " O$(P) 710 LET X = 20 + P*60 720 REM FIRST DOWN 730 GOSUB 800 740 LET X1 = X 750 LET D = 1 760 PRINT "FIRST DOWN ";O$(P);"***" 770 PRINT 780 PRINT 790 GOTO 860 800 REM PRINT POSITION 810 IF X > 50 THEN 840 820 PRINT L$(5);O$(0);X;L$(6) 830 GOTO 850 840 PRINT L$(5);O$(1);100-X;L$(6) 850 RETURN 860 REM NEW PLAY 870 LET T = T+1 880 IF T = 30 THEN 1060 890 IF T < 50 THEN 940 900 IF RND > .2 THEN 940 910 PRINT "END OF GAME ***" 920 PRINT "FINAL SCORE: ";O$(0);S(0);" ";O$(1);S(1) 930 STOP 940 IF P = 1 THEN 1870 950 PRINT "NEXT PLAY"; 960 INPUT Z 970 IF Z<>INT(Z) THEN 990 980 IF ABS(Z-4)<=3 THEN 1010 990 PRINT "ILLEGAL PLAY NUMBER, RETYPE."; 1000 GOTO 960 1010 LET F = 0 1020 PRINT L$(Z+6);". "; 1030 LET R = RND*(.98+FNF*.02) 1040 LET R1 = RND 1050 ON Z GOTO 1110,1150,1260,1480,1570,1570,1680 1060 REM JEAN'S SPECIAL 1070 IF RND > 1/3 THEN 940 1080 PRINT "GAME DELAYED. DOG ON FIELD." 1090 PRINT 1100 GOTO 940 1110 REM SIMPLE RUN. 1120 LET Y = INT(24*(R-.5)^3+3) 1130 IF RND < .05 THEN 1180 1140 GOTO 2190 1150 REM TRICKY RUN. 1160 LET Y = INT(20*R-5) 1170 IF RND > .1 THEN 2190 1180 LET F = -1 1190 LET X3 = X 1200 LET X = X + FNF*Y 1210 IF ABS(X-50) >= 50 THEN 1240 1220 PRINT "*** FUMBLE AFTER "; 1230 GOTO 2230 1240 PRINT "*** FUMBLE." 1250 GOTO 2450 1260 REM SHORT PASS. 1270 LET Y = INT(60*(R1-.5)^3+10) 1280 IF R < .05 THEN 1330 1290 IF R < .15 THEN 1390 1300 IF R < .55 THEN 1420 1310 PRINT "COMPLETE. "; 1320 GOTO 2190 1330 IF D=4 THEN 1420 1340 PRINT "INTERCEPTED." 1350 LET F = -1 1360 LET X = X+FNF*Y 1370 IF ABS(X-50)>=50 THEN 2450 1380 GOTO 2300 1390 PRINT "PASSER TACKLED. "; 1400 LET Y = -INT(10*R1) 1410 GOTO 2190 1420 LET Y=0 1430 IF RND<.3 THEN 1460 1440 PRINT "INCOMPLETE. "; 1450 GOTO 2190 1460 PRINT "BATTED DOWN. "; 1470 GOTO 2190 1480 REM LONG PASS. 1490 LET Y = INT(160*(R1-.5)^3+30) 1500 IF R < .1 THEN 1330 1510 IF R<.3 THEN 1540 1520 IF R < .75 THEN 1420 1530 GOTO 1310 1540 PRINT "PASSER TACKLED. "; 1550 LET Y = -INT(15*R1+3) 1560 GOTO 2190 1570 REM PUNT OR QUICK KICK. 1580 LET Y = INT(100*(R-.5)^3+35) 1590 IF D = 4 THEN 1610 1600 LET Y = INT(Y*1.3) 1610 PRINT "PUNT GOOD FOR "; Y; L$(3) 1620 IF ABS(X+Y*FNF-50)>=50 THEN 1670 1630 IF D < 4 THEN 1670 1640 LET Y1 = INT(R1^2*20) 1650 PRINT "RUN BACK FOR "; Y1; L$(3) 1660 LET Y = Y-Y1 1670 GOTO 1350 1680 REM PLACE KICK. 1690 LET Y = INT(100*(R-.5)^3+35) 1700 IF R1 > .15 THEN 1750 1710 PRINT "KICK IS BLOCKED***" 1720 LET X = X-5*FNF 1730 LET P = 1-P 1740 GOTO 720 1750 LET X = X+FNF*Y 1760 IF ABS(X-50)>=60 THEN 1810 1770 PRINT "KICK IS SHORT." 1780 IF ABS(X-50)>=50 THEN 2710 1790 LET P = 1-P 1800 GOTO 630 1810 IF R1 > .5 THEN 1840 1820 PRINT "KICK IS OFF TO THE SIDE." 1830 GOTO 2710 1840 PRINT "FIELD GOAL***" 1850 LET S(P) = S(P)+3 1860 GOTO 2640 1870 REM OPPONENT'S PLAY 1880 IF D > 1 THEN 1940 1890 IF RND > 1/3 THEN 1920 1900 LET Z = 3 1910 GOTO 1010 1920 LET Z = 1 1930 GOTO 1010 1940 IF D = 4 THEN 2090 1950 IF 10+X-X1 < 5 THEN 1890 1960 IF X<5 THEN 1890 1970 IF X<=10 THEN 2160 1980 IF X > X1 THEN 2020 1990 LET A = INT(2*RND) 2000 LET Z = 2+A*2 2010 GOTO 1010 2020 IF D < 3 THEN 1990 2030 IF X < 45 THEN 1990 2040 IF RND > 1/4 THEN 2070 2050 LET Z = 6 2060 GOTO 1010 2070 LET Z = 4 2080 GOTO 1010 2090 IF X > 30 THEN 2140 2100 IF 10+X-X1 < 3 THEN 1890 2110 IF X<3 THEN 1890 2120 LET Z = 7 2130 GOTO 1010 2140 LET Z = 5 2150 GOTO 1010 2160 LET A = INT(2*RND) 2170 LET Z = 2+A 2180 GOTO 1010 2190 REM GAIN OR LOSS 2200 LET X3 = X 2210 LET X = X + FNF*Y 2220 IF ABS(X-50)>=50 THEN 2450 2230 PRINT L$(15+SGN(Y)); 2240 IF Y = 0 THEN 2270 2250 PRINT ABS(Y);L$(3) 2260 GOTO 2280 2270 PRINT 2280 IF ABS(X3-50)>40 THEN 2300 2290 IF RND<.1 THEN 2860 2300 GOSUB 800 2310 IF F=0 THEN 2340 2320 LET P = 1-P 2330 GOTO 740 2340 IF FNG >= 10 THEN 740 2350 IF D = 4 THEN 2320 2360 LET D = D+1 2370 PRINT "DOWN ";D;"AND "; 2380 IF (X1-50)*FNF < 40 THEN 2410 2390 PRINT "GOAL TO GO" 2400 GOTO 2420 2410 PRINT 10-FNG;"YARDS TO GO" 2420 PRINT 2430 PRINT 2440 GOTO 860 2450 REM BALL IN END-ZONE 2460 IF X >= 100 THEN 2490 2470 LET E = 0 2480 GOTO 2500 2490 LET E = 1 2500 ON 1+E-F*2+P*4 GOTO 2510,2590,2760,2710,2590,2510,2710,2760 2510 REM SAFETY 2520 LET S(1-P) = S(1-P)+2 2530 PRINT L$(19) 2540 GOSUB 2800 2550 PRINT O$(P); " KICKS OFF FROM ITS 20 YARD LINE." 2560 LET X = 20 + P*60 2570 LET P = 1-P 2580 GOTO 590 2590 REM OFFENSIVE TD 2600 PRINT L$(17);"***" 2610 IF RND > .8 THEN 2680 2620 LET S(P) = S(P)+7 2630 PRINT "KICK IS GOOD" 2640 GOSUB 2800 2650 PRINT O$(P);" KICKS OFF" 2660 LET P = 1-P 2670 GOTO 570 2680 PRINT "KICK IS OFF TO THE SIDE" 2690 LET S(P) = S(P)+6 2700 GOTO 2640 2710 REM TOUCHBACK 2720 PRINT L$(18) 2730 LET P = 1-P 2740 LET X = 20 + P*60 2750 GOTO 720 2760 REM DEFENSIVE TD 2770 PRINT L$(17);"FOR ";O$(1-P);"***" 2780 LET P = 1-P 2790 GOTO 2600 2800 REM SCORE 2810 PRINT 2820 PRINT "SCORE: ";S(0);" TO ";S(1) 2830 PRINT 2840 PRINT 2850 RETURN 2860 REM PENALTY 2870 LET P3 = INT(2*RND) 2880 PRINT O$(P3);" OFFSIDES -- PENALTY OF 5 YARDS." 2890 PRINT 2900 PRINT 2910 IF P3 = 0 THEN 2980 2920 PRINT "DO YOU ACCEPT THE PENALTY"; 2930 INPUT A$ 2940 IF A$="NO"THEN 2300 2950 IF A$="YES" THEN 3110 2960 PRINT "TYPE 'YES' OR 'NO'"; 2970 GOTO 2930 2980 REM OPPONENT'S STRATEGY ON PENALTY 2990 IF P = 1 THEN 3040 3000 IF Y <= 0 THEN 3080 3010 IF F < 0 THEN 3080 3020 IF FNG < 3*D-2 THEN 3080 3030 GOTO 3100 3040 IF Y <= 5 THEN 3100 3050 IF F < 0 THEN 3100 3060 IF D < 4 THEN 3080 3070 IF FNG < 10 THEN 3100 3080 PRINT "PENALTY REFUSED." 3090 GOTO 2300 3100 PRINT "PENALTY ACCEPTED." 3110 LET F = 0 3120 LET D = D-1 3130 IF P<>P3 THEN 3160 3140 LET X = X3-FNF*5 3150 GOTO 2300 3160 LET X = X3+FNF*5 3170 GOTO 2300 3180 END [/spoiler] | labelimagesubject |
The Oregon Trail | MECC (Author) | 1971 | [media=youtube]XP_4I2UIpqE[/media]***The Oregon Trail is a text-based strategy video game developed by Don Rawitsch, Bill Heinemann, and Paul Dillenberger in 1971 and produced by the Minnesota Educational Computing Consortium (MECC) beginning in 1975. It was developed as a computer game to teach school children about the realities of 19th-century pioneer life on the Oregon Trail. In the game, the player assumes the role of a wagon leader guiding a party of settlers from Independence, Missouri, to Oregon City, Oregon via a covered wagon in 1847. Along the way the player must purchase supplies, hunt for food, and make choices on how to proceed along the trail while encountering random events such as storms and wagon breakdowns. The original versions of the game contain no graphics, as they were developed for computers that used teleprinters instead of computer monitors. A later Apple II port added a graphical shooting minigame.***This is the original original version of The Oregon Trail that ran on mainframes connected through phone calls. Manual input; keyboard or binary toggle switches. Keyboard is much perfected since word-input commands are more effective when typed in faster. This is not a quirk, it is a game mechanic. For example, to pull the trigger on a target when hunting, the player must type BANG. The faster this word is entered, the more accurate the shot will be. Later versions could be played through a terminal, but the original original original would make a paper printout of the game's output. | labelimagesubject |
Dungeon | Digital Equipment Computer Users' Society;Claremont Graduate University | 1976 | Unofficial adaptation of the tabletop RPG game Dungeons & Dragons for the PDP-10. The game is played mostly in text, but features a top-down view of the action in which only the areas that the player's party of characters can see (using line of sight, and individual abilities such as infravision to determine what should be visible). In encounters within the dungeon the player can determine what each character does. Aside from having a base class, race and statistics, characters earn experience points and grow in level.***Actually for DEC PDP-10 mainframes. Also for the HP3000 microcomputer. Not to be confused with a PDP-10 game called [game=#96876]Dungeon (DUNGEN)[/game] that became the game [gametag=zork Zork]zork Zork[/gametag] This was an unofficial implementation of the Dungeons and Dragons ruleset in a computer game and one of the first CRPGs ever. This game had many innovations and advancements that would influence RPGs to this day. All the basic D&D rules were implemented. Players could choose race, explore dungeons, earn skills and experience points, and so on. Mostly text based, the game could also show a top down graphical map. The map used line of site, fog of war, light sources and variable brightness. It also considered the viewing character's infravision abilities, which varied by race. The map was used optionally, as the text description were antiquate and faster. A teletype machine or a line printer could be used to 'save' games and characters for later use. The game was meant for use on a CRT display and game status could be shown and noted. By reentering the status of games and characters, one could 'load' them again later. A printout was a convenient way to save, but the game could also be played by printouts alone for players who did not have a CRT screen. At the time, it was the largest game ever created, requiring 36K. Its massive size was one of the reasons for its lack of popularity. It competed with Don Daglow's earlier game Star Trek (at 32K) for space on mainframes to which the [url=http://en.wikipedia.org/wiki/DECUS]DECUS[/url] group had access. As all geeks know, Star Trek trumps D&D :) Some administrators had also set limits on how much space could be used for games. 32K was a common limit. As games became more popular, many reduced their limit to 16K. But probably of more concern was the time it took to play, especially if there was no monitor. Computer time had to be reserved. Science and education was given priority over games (so much for old fashion values :) Dungeon was turn based, each and every move for all characters had to be described and entered, no shortcuts. Star Trek was a much faster play. [Zerothis] | labelminimizesubject |
Space Maze | Creative Computing | 1979 | Navigate home around the robot sentry ships by entering thrust, duration, and heading (spherical coordinates). A printout of all ship positions and the home space station will be provided to begin with and after the completion of each maneuver. If you pass within 1000 kilometres of an enemy ship, you will be destroyed. This is all done in 3D space. | labelminimizesubject |